<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of clienteAdministracion
 *
 * @author Agustin
 */
require_once('Modelo/cliente.php');

class ClienteAdministracion extends Cliente {

    var $idCA;

    public function buscarClienteNombreAdmin($datos) {
        try {
            require_once('Modelo/persistenciaClienteAdministracion.php');
            $pCli = persistenciaClienteAdministracion::getInstance();
            $resarr = $pCli->buscarClienteANombre($datos);
            return $resarr;
        } catch (Exception $ex) {
            return 'Error en la conexion a la clase persistencia';
        }
    }

    public function buscarClienteIdAdmin($id) {
        require_once('Modelo/persistenciaClienteAdministracion.php');
        $pCli = persistenciaClienteAdministracion::getInstance();
        try {
            $resarr = $pCli->buscarClienteAId($id);
            return $resarr;
        } catch (Exception $ex) {
            return 'Error en la conexion a la clase persistencia';
        }
    }

    public function agregarClienteA($datos) {
        $aux = $this->chequearDatos($datos[0], $datos[1]);
        require_once('Modelo/persistenciaClienteAdministracion.php');
        $pCli = persistenciaClienteAdministracion::getInstance();
        if (is_bool($aux)) {
            try {
                if (!is_string($pCli->buscarClienteNombreAdminUnico($datos[0])) == 0) {
                    return $pCli->agregarClienteA($datos);
                } else {
                    return 'Ya existe ese cliente';
                }
            } catch (Exception $ex) {
                throw $ex;
            }
        } else {
            return $aux;
        }
    }

    public function actualizarClienteA($datos) {
        $cli = $this->buscarClienteIdAdmin($datos[0]);
        $aux = $this->chequearDatos($datos[1], $datos[2]);
        if (is_bool($aux)) {
//            if ($cli->nombre == $datos[1]) {
            try {
                require_once('Modelo/persistenciaClienteAdministracion.php');
                $pCli = persistenciaClienteAdministracion::getInstance();
                return $pCli->actualizarClienteA($datos);
            } catch (Exception $ex) {
                throw $ex;
            }
        } else {
            try {
                if (count($this->buscarClienteNombreAdmin($datos[1])) == 0) {
                    require_once('Modelo/persistenciaClienteAdministracion.php');
                    $pCli = persistenciaClienteAdministracion::getInstance();
                    return $pCli->actualizarClienteA($datos);
                } else {
                    return $aux;
                }
            } catch (Exception $ex) {
                throw $ex;
            }
        }
    }

    private function chequearDatos($nombre, $responsable) {
        $res = true;
        if ($nombre == '') {
            $res = 'El Nombre está vacío';
        }
        if ($responsable == '') {
            if ($res != '') {
                $res .= ' y ';
            }
            $res = 'El Responsable está vacío';
        }
        return $res;
    }

}

?>
